<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Cubicle.Core.DataContracts" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Cubicle.Core.DataContracts" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:61565/Engine.svc?xsd=xsd5" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:complexType name="ArrayOfMemberData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="MemberData" nillable="true" type="tns:MemberData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfMemberData" nillable="true" type="tns:ArrayOfMemberData" />
  <xs:complexType name="MemberData">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="MemberType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ReturnType" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="MemberData" nillable="true" type="tns:MemberData" />
  <xs:complexType name="ArrayOfAssemblyData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AssemblyData" nillable="true" type="tns:AssemblyData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAssemblyData" nillable="true" type="tns:ArrayOfAssemblyData" />
  <xs:complexType name="AssemblyData">
    <xs:sequence>
      <xs:element minOccurs="0" name="DisplayName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FullName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="GlobalAssemblyCache" type="xs:boolean" />
      <xs:element minOccurs="0" name="HostContext" type="xs:long" />
      <xs:element minOccurs="0" name="ImageRuntimeVersion" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsFullyTrusted" type="xs:boolean" />
      <xs:element minOccurs="0" name="Location" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Path" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProcessorArchitecture" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Version" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AssemblyData" nillable="true" type="tns:AssemblyData" />
  <xs:complexType name="TypeData">
    <xs:sequence>
      <xs:element minOccurs="0" name="FullName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FullyQualifiedName" nillable="true" type="xs:string" />
      <xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="InterfaceNames" nillable="true" type="q1:ArrayOfstring" />
      <xs:element minOccurs="0" name="IsAbstract" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsArray" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsClass" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsEnum" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsGenericType" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsInterface" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsPointer" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsPrimitive" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsPublic" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsSealed" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsSerializable" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsValueType" type="xs:boolean" />
      <xs:element minOccurs="0" name="Path" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TypeData" nillable="true" type="tns:TypeData" />
  <xs:complexType name="ArrayOfTypeData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TypeData" nillable="true" type="tns:TypeData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTypeData" nillable="true" type="tns:ArrayOfTypeData" />
  <xs:complexType name="ArrayOfMethodData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="MethodData" nillable="true" type="tns:MethodData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfMethodData" nillable="true" type="tns:ArrayOfMethodData" />
  <xs:complexType name="MethodData">
    <xs:sequence>
      <xs:element minOccurs="0" name="DeclaringType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Help" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsAssembly" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsFamily" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsFamilyAndAssembly" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsFinal" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsGenericMethod" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsPrivate" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsStatic" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsVirtual" type="xs:boolean" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Offset" type="xs:int" />
      <xs:element minOccurs="0" name="ParameterCount" type="xs:int" />
      <xs:element minOccurs="0" name="ReturnType" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="MethodData" nillable="true" type="tns:MethodData" />
  <xs:complexType name="ArrayOfFieldData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="FieldData" nillable="true" type="tns:FieldData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfFieldData" nillable="true" type="tns:ArrayOfFieldData" />
  <xs:complexType name="FieldData">
    <xs:sequence>
      <xs:element minOccurs="0" name="DeclaringType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FieldName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FieldType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsAssembly" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsFamily" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsFamilyAndAssembly" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsFamilyOrAssembly" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsPrivate" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsPublic" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FieldData" nillable="true" type="tns:FieldData" />
  <xs:complexType name="ArrayOfPropertyData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PropertyData" nillable="true" type="tns:PropertyData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPropertyData" nillable="true" type="tns:ArrayOfPropertyData" />
  <xs:complexType name="PropertyData">
    <xs:sequence>
      <xs:element minOccurs="0" name="DeclaringType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="GetIsAssembly" type="xs:boolean" />
      <xs:element minOccurs="0" name="GetIsFamily" type="xs:boolean" />
      <xs:element minOccurs="0" name="GetIsFamilyAndAssembly" type="xs:boolean" />
      <xs:element minOccurs="0" name="GetIsFamilyOrAssembly" type="xs:boolean" />
      <xs:element minOccurs="0" name="GetIsPrivate" type="xs:boolean" />
      <xs:element minOccurs="0" name="GetIsPublic" type="xs:boolean" />
      <xs:element minOccurs="0" name="PropertyName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PropertyType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SetIsAssembly" type="xs:boolean" />
      <xs:element minOccurs="0" name="SetIsFamily" type="xs:boolean" />
      <xs:element minOccurs="0" name="SetIsFamilyAndAssembly" type="xs:boolean" />
      <xs:element minOccurs="0" name="SetIsFamilyOrAssembly" type="xs:boolean" />
      <xs:element minOccurs="0" name="SetIsPrivate" type="xs:boolean" />
      <xs:element minOccurs="0" name="SetIsPublic" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PropertyData" nillable="true" type="tns:PropertyData" />
  <xs:complexType name="ArrayOfConstructorData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ConstructorData" nillable="true" type="tns:ConstructorData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfConstructorData" nillable="true" type="tns:ArrayOfConstructorData" />
  <xs:complexType name="ConstructorData">
    <xs:sequence>
      <xs:element minOccurs="0" name="Parameters" nillable="true" type="tns:ArrayOfParameterData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ConstructorData" nillable="true" type="tns:ConstructorData" />
  <xs:complexType name="ArrayOfParameterData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ParameterData" nillable="true" type="tns:ParameterData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfParameterData" nillable="true" type="tns:ArrayOfParameterData" />
  <xs:complexType name="ParameterData">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ParameterType" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ParameterData" nillable="true" type="tns:ParameterData" />
</xs:schema>